package cn.codergege.kotlinbasics.basictype


import org.junit.jupiter.api.Test
import org.junit.jupiter.api.Assertions.*
import org.springframework.boot.test.context.SpringBootTest

@SpringBootTest
class StringDemoTest {
    @Test fun testString() {
        var name: String = "codergege" // 即使用 var 来声明, String 变量 name 仍然是不可变对象.
        // 可以取出单个字符
        assertTrue(name[0] == 'c')
        // name[0] = 'C' // 编译不通过, String 是不可更改的
        // 可以转义
        var book = "kotlin\tin\taction"
        // 打印看看
        println(book)

        // Raw string
        val words = """
            I'm codergege.
            Kotlin is a lot of funs.
              Ok~~ ${'$'}
        """.trimIndent() // 把缩进给去掉了
       // 打印看看效果
        println(words)

        // 字符串模板
        val myname = "codergege"
        val age = 28
        val hello = "我叫 $myname, 今年已经 ${age - 10} 岁了"
        assertEquals("我叫 codergege, 今年已经 18 岁了", hello)
    }
}